<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>




        async function box() {
            // await 返回值 就是 成功的 结果
            try {
                let r1 = await new Promise(function (r, j) {
                    setTimeout(() => {
                        // r(2000)
                        j('失败')//改变promsie对象的状态 失败
                    }, 2000);
                })
                // await 后面的 promsie 成功以后 才会往下执行
                // 如果promise 失败了-- 就会不会往下执行，会报错
                console.log(r1);
            } catch (error) {
                // 一旦 promise对象 失败了，那么catch 就会执行
                console.log(error);
                // 
            }
        }
        box()

        // try{} catch(error){}
        // 尝试执行try里面的代码-如果代码抛出了错误，就会执行catch
        // catch 就可以捕获错误，error 就是 错误对象
        // try {

        //     // new Error('失败') --创建一个错误对象
        //     // throw 抛出
        //     // 抛出错误--控制台 就会 出现红色的错误
        //     throw new Error('失败')
        // } catch (error) {
        //     console.log(error);
        // }






    </script>

</body>

</html>